package ogloszenia.widok;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.faces.component.UIComponent;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.model.SelectItem;

import ogloszenia.bazadanych.Miasto;
import ogloszenia.bazadanych.Wojewodztwo;
import ogloszenia.bazadanych.ZsmOgloszenie;
import ogloszenia.bazadanych.ZsmOgloszenieInne;

public class Listy {

	public static Listy instancja=null;
	public static int zmiana=1;
  private boolean comboboxdisablemiejscowosc;
  public boolean isComboboxdisablemiejscowosc() {
		return comboboxdisablemiejscowosc;
	}
	public void setComboboxdisablemiejscowosc(boolean comboboxdisablemiejscowosc) {
		this.comboboxdisablemiejscowosc = comboboxdisablemiejscowosc;
	}
	
	public Listy  Listy(){
		if (instancja==null)
			instancja=new Listy();
		return instancja;
	}
	private boolean war=true;
	
	public boolean isWar() {
		return war;
	}
	public void setWar(boolean war) {
		this.war = war;
	}

	private SelectItem[] listaOgloszenia1;
	protected static SelectItem[] 
			listaWojewodztw,listaMiast,
			listOfOgloszenia1,listOfOgloszenia2,listOfOgloszenia3;
	private SelectItem[] listawojewodztw_,listamiast_;
	
	
	public SelectItem[] getListamiast_() {
		if(this.listamiast_==null)
		{
		miasta=ogloszenia.bazadanych.bazadanych.instancja().pobierz_miasta();
		SelectItem[] aaa=new SelectItem[miasta.size()];
		for (int i = 0; i < miasta.size(); i++) 
			aaa[i]=new SelectItem(miasta.get(i).getNazwa());
		return aaa;
		}
		else
		return listamiast_;
	}
	public void setListamiast_(SelectItem[] listamiast_) {
		this.listamiast_ = listamiast_;
	}
	public SelectItem[] getListawojewodztw_() {
		if(this.listawojewodztw_==null)
		{
		wojewodztwa=ogloszenia.bazadanych.bazadanych.instancja().pobierz_wojewodztwa();
		SelectItem[] aaa=new SelectItem[wojewodztwa.size()];
		for (int i = 0; i < wojewodztwa.size(); i++)
			aaa[i]=new SelectItem(wojewodztwa.get(i).getNazwa(),wojewodztwa.get(i).getNazwa());
		return aaa;
		}
		else
			return listawojewodztw_;
	}
	public void setListawojewodztw_(SelectItem[] listawojewodztw_) {
		this.listawojewodztw_ = listawojewodztw_;
	}

	private List<ZsmOgloszenie> aa=new ArrayList<ZsmOgloszenie>();
	private List<ZsmOgloszenie> bb=new ArrayList<ZsmOgloszenie>();
	private List<ZsmOgloszenie> cc=new ArrayList<ZsmOgloszenie>();
	
	public  static String wybranewojewodztwo=null,wybranemiasto=null;
	public  String z1,z2;
	
	public String getZ1() {
		return z1;
	}
	public void setZ1(String z1) {
		wybranewojewodztwo=z1;
		this.z1 = z1;
	}
	public String getZ2() {
		return z2;
	}
	public void setZ2(String z2) {
		wybranemiasto=z2;
		this.z2 = z2;
	}
		public static String getWybranewojewodztwo() {
		return wybranewojewodztwo;
	}
	public static void setWybranewojewodztwo(String wybranewojewodztwo) {
		Listy.wybranewojewodztwo = wybranewojewodztwo;
	}
	public static String getWybranemiasto() {
		return wybranemiasto;
	}
	public static void setWybranemiasto(String wybranemiasto) {
		Listy.wybranemiasto = wybranemiasto;
	}
	public void myAjaxListener(AjaxBehaviorEvent abe) {
		zgloszenie.instance.szukanie=true;
		war=false;
		List<Miasto> vv=ogloszenia.bazadanych.bazadanych.instancja().pobierzMiastaWgWojewodztwa(wybranewojewodztwo);
		SelectItem[] temp=new SelectItem[vv.size()];
		for (int i = 0; i < vv.size(); i++) {
			temp[i]=new SelectItem(vv.get(i).getNazwa());
			System.out.println(vv.get(i).getId()+ "-"+vv.get(i).getNazwa()+ ""+vv.get(i).getWojewodztwo());
		}
		for (int i = 0; i < temp.length; i++) {
			System.out.println(temp[i].getValue());
		}
		setListamiast_(null);
		setListamiast_(temp);
		zgloszenie.instance.etykieta_przycisku="Wybierz miasto";
	}
	public void myAjaxListener2(AjaxBehaviorEvent abe) {
		war=false;
		Listy.instancja.zmiana=0;
		zgloszenie.instance.etykieta_przycisku="Szukaj";
		zgloszenie.instance.szukanie=false;
	}
		public String getZmienna() {
		return wybranewojewodztwo;
	}
	public void setZmienna(String zmienna) {
		this.wybranewojewodztwo = zmienna;
	}

	public static List<ZsmOgloszenie> lista=null;
		private List<Miasto> miasta=new ArrayList<Miasto>();
	public List<Miasto> getMiasta() {
		
			return (List<Miasto>) ogloszenia.bazadanych.bazadanych.instancja().pobierz_miasta();
		
	}
	public void setMiasta(List<Miasto> miasta) {
		this.miasta = miasta;
	}

		private List<Wojewodztwo> wojewodztwa=new ArrayList<Wojewodztwo>();
	public List<Wojewodztwo> getWojewodztwa() {
		return (List<Wojewodztwo>) ogloszenia.bazadanych.bazadanych.instancja().pobierz_wojewodztwa();
	}
	public void setWojewodztwa(List<Wojewodztwo> wojewodztwa) {
		this.wojewodztwa = wojewodztwa;
	}
	
	public List<ZsmOgloszenie> getAa() {
		System.out.println("zmiana"+Listy.zmiana);
		aa=null;
		aa=(List<ZsmOgloszenie>) Listy.lista;
		return aa;
	}
	
	public List<ZsmOgloszenie> getBb() {
		return bb;
	}
	public void setBb(List<ZsmOgloszenie> bb) {
		this.bb = bb;
	}
	public List<ZsmOgloszenie> getCc() {
		return cc;
	}
	public void setCc(List<ZsmOgloszenie> cc) {
		this.cc = cc;
	}
	public void cc(){
		setAa( ogloszenia.bazadanych.bazadanych.instancja.
				pobierzWgWojewodztwaMiasta("wielkopolskie","Poznan"));
	}
	public void setAa(List<ZsmOgloszenie> aa) {
		zmiana=1;
		System.out.println("w setaa");
		aa=null;
		aa=(List<ZsmOgloszenie>) Listy.lista;
		for (int i = 0; i < aa.size(); i++) {
			System.out.println(aa.get(i).getKontakt());
		}
		this.aa = aa;
		
	}
	public String[][] etykieta={{"0","a"},{"1","b"}};
	
	
	public String[][] getEtykieta() {
		return etykieta;
	}
	public void setEtykieta(String[][] etykieta) {
		this.etykieta = etykieta;
	}
	public static SelectItem[] getListOfOgloszenia1() {
		List<ZsmOgloszenie> tymcz_ =(List<ZsmOgloszenie>) ogloszenia.bazadanych.bazadanych.instancja().getOgloszenia(1);
		if(listOfOgloszenia1==null ||(listOfOgloszenia1.length!=tymcz_.size()))
		{
	    SelectItem[] tymcz=new SelectItem[tymcz_.size()];
	    for (int i = 0; i < tymcz.length; i++) {
	            tymcz[i]=new SelectItem(tymcz_.get(i).getTresc());
	    }
		return listOfOgloszenia1=tymcz;
		}
		else
			return listOfOgloszenia1;	
	}

	public static void setListOfOgloszenia1(SelectItem[] listOfOgloszenia1) {
		Listy.listOfOgloszenia1 = listOfOgloszenia1;
	}

	public SelectItem[] getListaOgloszenia1() {
		return getListOfOgloszenia1();
	}

	public void setListaOgloszenia1(SelectItem[] listaOgloszenia1) {
		this.listaOgloszenia1 = listaOgloszenia1;
	}

	public SelectItem[] getListaWojewodztw() {
		List<Wojewodztwo> tymcz_ =ogloszenia.bazadanych.bazadanych.pobierz_wojewodztwa();
	    SelectItem[] tymcz=new SelectItem[tymcz_.size()];
	    for (int i = 0; i < tymcz.length; i++) {
	            tymcz[i]=new SelectItem(tymcz_.get(i).getNazwa());
	    }
	    return tymcz;
	}

	public void setListaWojewodztw(SelectItem[] listaWojewodztw) {
		this.listaWojewodztw = listaWojewodztw;
	}

	public SelectItem[] getListaMiast() {
		List<Miasto> tymcz_ =ogloszenia.bazadanych.bazadanych.pobierz_miasta();
	    SelectItem[] tymcz=new SelectItem[tymcz_.size()];
	    for (int i = 0; i < tymcz.length; i++) {
	            tymcz[i]=new SelectItem(tymcz_.get(i).getNazwa());
	    }
		return tymcz;
	}

	public void setListaMiast(SelectItem[] listaMiast) {
		this.listaMiast = listaMiast;
	}

	public SelectItem[] getListOfOgloszenia2() {
		List<ZsmOgloszenie> tymcz_ =(List<ZsmOgloszenie>) ogloszenia.bazadanych.bazadanych.instancja().getOgloszenia(1);
	    SelectItem[] tymcz=new SelectItem[tymcz_.size()];
	    for (int i = 0; i < tymcz.length; i++) {
	            tymcz[i]=new SelectItem(tymcz_.get(i).getTresc());
	    }
	    return tymcz;
	}

	public void setListOfOgloszenia2(SelectItem[] listOfOgloszenia2) {
		this.listOfOgloszenia2 = listOfOgloszenia2;
	}

	public SelectItem[] getListOfOgloszenia3() {
		/*List<ZsmOgloszenieInne> tymcz_ =(List<ZsmOgloszenieInne>) ogloszenia.bazadanych.bazadanych.instancja().getOgloszenia(3);
	    SelectItem[] tymcz=new SelectItem[tymcz_.size()];
	    for (int i = 0; i < tymcz.length; i++) {
	            tymcz[i]=new SelectItem(tymcz_.get(i).getTresc());
	            System.out.println(tymcz_.get(i).getTresc());
	    }*/
	    return listOfOgloszenia3;
	}

	public void setListOfOgloszenia3(SelectItem[] listOfOgloszenia3) {
		this.listOfOgloszenia3 = listOfOgloszenia3;
	}
	
}
